package model

import (
	"github.com/zeromicro/go-zero/core/stores/cache"
	"github.com/zeromicro/go-zero/core/stores/monc"
)

var _ AssistantModel = (*customAssistantModel)(nil)

type (
	// AssistantModel is an interface to be customized, add more methods here,
	// and implement the added methods in customAssistantModel.
	AssistantModel interface {
		assistantModel
	}

	customAssistantModel struct {
		*defaultAssistantModel
	}
)

// NewAssistantModel returns a model for the mongo.
func NewAssistantModel(url, db, collection string, c cache.CacheConf) AssistantModel {
	conn := monc.MustNewModel(url, db, collection, c)
	return &customAssistantModel{
		defaultAssistantModel: newDefaultAssistantModel(conn),
	}
}
